]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
app-system: Don't use gmenu_tree_entry_get_desktop_app_info
authorJasper St. Pierre <jstpierre@mecheye.net>
Wed, 2 Oct 2013 22:22:07 +0000 (18:22 -0400)
committerJasper St. Pierre <jstpierre@mecheye.net>
Sun, 3 Nov 2013 00:12:36 +0000 (20:12 -0400)
It's a broken method when it comes to giving us a useful GDesktopAppInfo,
and it's hard to fix libgmenu properly, so simply recreate the app info
using the desktop file ID that libgmenu has.

src/shell-app-system.c

index 8d36f25b731afb55ae81ce947395dcf102cb0e8e..a825712b201c48a187e6e1a735ba0de15cca02db 100644 (file)
@@ -341,7 +341,7 @@ on_apps_tree_changed_cb (GMenuTree *tree,
       else
         g_free (prefix);
 
-      info = gmenu_tree_entry_get_app_info (entry);
+      info = g_desktop_app_info_new (gmenu_tree_entry_get_desktop_file_id (entry));
 
       app = g_hash_table_lookup (self->priv->id_to_app, id);
       if (app != NULL)
@@ -363,6 +363,8 @@ on_apps_tree_changed_cb (GMenuTree *tree,
           app = _shell_app_new (info);
         }
 
+      g_object_unref (info);
+
       g_hash_table_replace (self->priv->id_to_app, (char*)id, app);
       if (!gmenu_tree_entry_get_is_nodisplay_recurse (entry))
         g_hash_table_replace (self->priv->visible_id_to_app, (char*)id, app);